﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using CarLoanSystem.Entity;
using CarLoanSystem.DAL;

namespace CarLoanSystem
{
    public partial class FrmLoanDetail : Form
    {
        private static EmployeeItem empItem;
        private static LoanItem loanItem;
        private static CarInfoItem carItem;
        private static CustomerItem cusItem;
        private static InterrestInfoItem InterrestItem;
        private static BondsmanItem bondsmanItem;
        public FrmLoanDetail()
        {
            InitializeComponent();
        }

        public FrmLoanDetail(int id, string mode, EmployeeItem item)
        {
            InitializeComponent();
            empItem = item;
            loanItem = DAL.LoanInfoDAL.LoadLoan(id);
            carItem = DAL.CarInfoDAL.LoadCar(loanItem.CAR_ID);
            cusItem = DAL.CustomerInfoDAL.LoadCustomer(loanItem.CUSTOMER_ID);
            InterrestItem = DAL.InterrestInfoDAL.LoadInterrest(loanItem.INTERREST_ID);
            this.txtBrand.Text = carItem.CAR_BRAND_NAME;
            this.txtDateLoan.Text = loanItem.LOAN_DATE.ToShortDateString();
            this.txtDown.Text = loanItem.DOWN_PAYMENT.ToString();
            this.txtLastName.Text = cusItem.CUSTOMER_LASTNAME;
            this.txtLoanId.Text = loanItem.LOAN_ID.ToString();
            this.txtMoney.Text = loanItem.DEBT_MONTH_REST.ToString();
            this.txtName.Text = cusItem.CUSTOMER_NAME;
            this.txtPrice.Text = carItem.CAR_PRICE.ToString();
            this.txtSeries.Text = carItem.CAR_MODEL_NAME.ToString();
            this.txtVehicleId.Text = loanItem.VEHICLE_ID;
            this.textInterrest.Text = InterrestItem.INTERREST_RATE.ToString();
            this.txtPriceMonth.Text = loanItem.PAY_MONTH.ToString();
            decimal profit = ((carItem.CAR_PRICE * InterrestItem.INTERREST_RATE) / 100);
            this.txtkamrai.Text = decimal.Round(profit, 2, MidpointRounding.AwayFromZero).ToString();

            if (loanItem.CHECK_IDENTITY_CARD == "A")
            {
                this.checkBox1.Checked = true;
            }
            if (loanItem.CHECK_REGISTRATION == "A")
            {
                this.checkBox3.Checked = true;
            }
            if (loanItem.CHECK_SALARY_SLIP == "A")
            {
                this.checkBox5.Checked = true;
            }
            if (loanItem.CHECK_ACCOUNT == "A")
            {
                this.checkBox7.Checked = true;
            }

            if (cusItem.CUSTOMER_SARARY != 0)
            {
                decimal sumDept = DAL.CustomerDebtInfoDAL.LoadSumDept(cusItem.CUSTOMER_ID);
                sumDept = sumDept + loanItem.PAY_MONTH;
                decimal credit = ((cusItem.CUSTOMER_SARARY - sumDept) / cusItem.CUSTOMER_SARARY) * 100;
                this.txtCredit.Text = decimal.Round(credit, 2, MidpointRounding.AwayFromZero).ToString();
            }
            else
            {
                this.txtCredit.Text = "0";
            }

            if (loanItem.LOAN_STATUS == "A")
            {
                this.groupReceive.Visible = false;
                this.groupApprove.Visible = true;
            }
            else if (loanItem.LOAN_STATUS == "B")
            {
                this.groupReceive.Visible = true;
                this.groupApprove.Visible = false;
                this.cbbReceiveStatus.Visible = true;
                this.cbbReceiveStatus.SelectedIndex = 0;
                this.txtVehicleId.Enabled = true;
                this.ClientSize = new System.Drawing.Size(584, 360);
                this.ResumeLayout(false);
                this.PerformLayout();
            }

            if (mode.Equals("view"))
            {
                this.groupReceive.Visible = false;
                this.groupApprove.Visible = false;
                this.cbbStatus.Visible = false;
                this.lbStatus.Visible = false;
                this.cbbReceiveStatus.Visible = false;
                this.btnOk.Visible = false;
                this.txtVehicleId.Enabled = false;
            }
        }

        private void btnOk_Click(object sender, EventArgs e)
        {
            try
            {
                if (cbbReceiveStatus.SelectedItem.ToString().Equals("ส่งรถ"))
                {
                    if (this.txtVehicleId.Text != "")
                    {
                        loanItem.VEHICLE_ID = this.txtVehicleId.Text;
                        loanItem.LOAN_STATUS = "I";
                        LoanInfoDAL.Update(loanItem);
                        DateTime date = DateTime.Now;
                        PaymentsItem payItem = new PaymentsItem();
                        payItem.LOAN_ID = loanItem.LOAN_ID;
                        payItem.PAYMENTS_STATUS = "A";

                        for (int i = 0; i < InterrestItem.DEBT_MONTH; i++)
                        {
                            payItem.PAYMENTS_DUE_DATE = DateTime.Now.AddMonths(i + 1);
                            DAL.PaymentInfoDAL.Insert(payItem);
                        }
                        CustomerDebtItem item = new CustomerDebtItem();
                        item.CUSTOMER_ID = loanItem.CUSTOMER_ID;
                        item.DEBT_AMOUNT = loanItem.PAY_MONTH;
                        item.DEBT_DETAIL = "ค่ากู้รถยนต์ของบริษัท";
                        item.CUSTOMER_DEBT_STATUS = "A";
                        DAL.CustomerDebtInfoDAL.Insert(item);
                        MessageBox.Show("บันทึกข้อมูลสำเร็จ", "บันทึกผลการอนุมัติ");
                    }
                    else
                    {
                        MessageBox.Show("กรุณากรอกรอกทะเบียนรถยนต์", "ตรวจสอบข้อมูล");
                        return;
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("ex : " + ex.Message, "บันทึกผลการผิดพลาด");
            }
        }

        #region Save ของเก่า
        //private void btnOk_Click(object sender, EventArgs e)
        //{
        //    try
        //    {
        //        if (loanItem.LOAN_STATUS == "A")
        //        {
        //            if (cbbStatus.SelectedItem.ToString().Equals("นัดพบ"))
        //            {
        //                loanItem.LOAN_STATUS = "B";
        //                LoanInfoDAL.Update(loanItem);
        //                int loop = 1;
        //                AppointmentsItem appItem = new AppointmentsItem();
        //                appItem.LOAN_ID = loanItem.LOAN_ID;
        //                appItem.APPOINTMENTS_DATE = DateTime.Now.AddDays(loop);
        //                appItem.APPOINTMENTS_DATE.Date.AddYears(-543);
        //                int queInDay = DAL.AppointmentsInfoDAL.LoadQue(appItem.APPOINTMENTS_DATE.Year + "-" + appItem.APPOINTMENTS_DATE.Month + "-" + appItem.APPOINTMENTS_DATE.Day, empItem.EMPLOYEE_ID);
        //                do
        //                {
        //                    if (queInDay <= 6)
        //                    {
        //                        if (queInDay == 0)
        //                        {
        //                            appItem.APPOINTMENTS_START_TIME = "09:00";
        //                            appItem.APPOINTMENTS_END_TIME = "10:00";
        //                        }
        //                        else if (queInDay == 1)
        //                        {
        //                            appItem.APPOINTMENTS_START_TIME = "10:00";
        //                            appItem.APPOINTMENTS_END_TIME = "11:00";
        //                        }
        //                        else if (queInDay == 2)
        //                        {
        //                            appItem.APPOINTMENTS_START_TIME = "11:00";
        //                            appItem.APPOINTMENTS_END_TIME = "12:00";
        //                        }
        //                        else if (queInDay == 3)
        //                        {
        //                            appItem.APPOINTMENTS_START_TIME = "13:00";
        //                            appItem.APPOINTMENTS_END_TIME = "14:00";
        //                        }
        //                        else if (queInDay == 4)
        //                        {
        //                            appItem.APPOINTMENTS_START_TIME = "14:00";
        //                            appItem.APPOINTMENTS_END_TIME = "15:00";
        //                        }
        //                        else if (queInDay == 5)
        //                        {
        //                            appItem.APPOINTMENTS_START_TIME = "15:00";
        //                            appItem.APPOINTMENTS_END_TIME = "16:00";
        //                        }
        //                        else if (queInDay == 6)
        //                        {
        //                            appItem.APPOINTMENTS_START_TIME = "16:00";
        //                            appItem.APPOINTMENTS_END_TIME = "17:00";
        //                        }
        //                    }
        //                    else
        //                    {
        //                        loop = loop + 1;
        //                        appItem.APPOINTMENTS_DATE = DateTime.Now.AddDays(loop);
        //                        queInDay = DAL.AppointmentsInfoDAL.LoadQue(appItem.APPOINTMENTS_DATE.Year + "-" + appItem.APPOINTMENTS_DATE.Month + "-" + appItem.APPOINTMENTS_DATE.Day, empItem.EMPLOYEE_ID);
        //                    }
        //                } while (appItem.APPOINTMENTS_START_TIME.Equals("") || appItem.APPOINTMENTS_END_TIME.Equals(""));
        //                appItem.APPOINTMENTS_STATUS = "A";
        //                DAL.AppointmentsInfoDAL.Insert(appItem);

        //                AlertsMessageItem alertItem = new AlertsMessageItem();
        //                alertItem.ALERTS_MESSAGE_DETAIL = "แจ้งเตือนการนัดหมายการขอกู้วัน " + appItem.APPOINTMENTS_DATE + " เวลา " + appItem.APPOINTMENTS_START_TIME + " - " + appItem.APPOINTMENTS_END_TIME + " น.";
        //                alertItem.ALERTS_MESSAGE_STATUS = "C";
        //                alertItem.USER_NAME = cusItem.USERNAME;
        //                alertItem.LOAN_ID = appItem.LOAN_ID;
        //                DAL.AlertsMessageInfoDAL.Insert(alertItem);

        //                MessageBox.Show("วันที่" + appItem.APPOINTMENTS_DATE.ToShortDateString() + " เวลา " +
        //                    appItem.APPOINTMENTS_START_TIME + " ถึง " + appItem.APPOINTMENTS_END_TIME
        //                , "วันเวลานัดนหมาย");

        //            }
        //            else if (cbbStatus.SelectedItem.ToString().Equals("ไม่อนุมัติ"))
        //            {
        //                loanItem.LOAN_STATUS = "F";
        //                LoanInfoDAL.Update(loanItem);
        //                AlertsMessageItem alertItem = new AlertsMessageItem();
        //                alertItem.ALERTS_MESSAGE_DETAIL = "แจ้งเตือนไม่อนุมัติการขอกู้เงินรหัส " + loanItem.LOAN_ID;
        //                alertItem.ALERTS_MESSAGE_STATUS = "C";
        //                alertItem.USER_NAME = cusItem.USERNAME;
        //                alertItem.LOAN_ID = loanItem.LOAN_ID;
        //                DAL.AlertsMessageInfoDAL.Insert(alertItem);
        //            }
        //        }
        //        else if (loanItem.LOAN_STATUS == "B")
        //        {
        //            if (cbbStatusApprove.SelectedItem.ToString().Equals("เอกสารถูกต้อง"))
        //            {
        //                decimal credit = Convert.ToDecimal(txtCredit.Text);
        //                if (credit >= 50)
        //                {
        //                    loanItem.LOAN_STATUS = "C";
        //                    LoanInfoDAL.Update(loanItem);

        //                    ScheduleItem scheduleItem = new ScheduleItem();
        //                    scheduleItem.LOAN_ID = loanItem.LOAN_ID;
        //                    scheduleItem.SCHEDULE_STATUS = "I";
        //                    DAL.ScheduleInfoDAL.Update(scheduleItem);

        //                    scheduleItem = DAL.ScheduleInfoDAL.LoadScheduleLoan(loanItem.LOAN_ID);
        //                    EmployeeItem emp = DAL.EmployeeInfoDAL.LoadEmployee(scheduleItem.EMPLOYEE_ID.ToString());

        //                    AlertsMessageItem alertItem = new AlertsMessageItem();
        //                    alertItem.ALERTS_MESSAGE_DETAIL = "แจ้งเตือนการส่งรถการขอกู้เงินรหัส " + loanItem.LOAN_ID;
        //                    alertItem.ALERTS_MESSAGE_STATUS = "A";
        //                    alertItem.USER_NAME = emp.USERNAME;
        //                    alertItem.LOAN_ID = loanItem.LOAN_ID;
        //                    DAL.AlertsMessageInfoDAL.Insert(alertItem);

        //                    alertItem = new AlertsMessageItem();
        //                    alertItem.ALERTS_MESSAGE_DETAIL = "แจ้งเตือนการรับรถของการขอกู้เงินรหัส " + loanItem.LOAN_ID;
        //                    alertItem.ALERTS_MESSAGE_STATUS = "C";
        //                    alertItem.USER_NAME = cusItem.USERNAME;
        //                    alertItem.LOAN_ID = loanItem.LOAN_ID;
        //                    DAL.AlertsMessageInfoDAL.Insert(alertItem);
        //                }
        //                else
        //                {
        //                    loanItem.LOAN_STATUS = "F";
        //                    LoanInfoDAL.Update(loanItem);
        //                    AlertsMessageItem alertItem = new AlertsMessageItem();
        //                    alertItem.ALERTS_MESSAGE_DETAIL = "แจ้งเตือนไม่อนุมัติการขอกู้เงินรหัส " + loanItem.LOAN_ID;
        //                    alertItem.ALERTS_MESSAGE_STATUS = "C";
        //                    alertItem.USER_NAME = cusItem.USERNAME;
        //                    alertItem.LOAN_ID = loanItem.LOAN_ID;
        //                    DAL.AlertsMessageInfoDAL.Insert(alertItem);
        //                    MessageBox.Show("ความน่าเชื่อถือต่ำกว่ามาตราฐาน ไม่อนุญาติให้ทำการขอกู้", "บันทึกผลการอนุมัติ");
        //                }
        //            }
        //            else if (cbbStatusApprove.SelectedItem.ToString().Equals("เอกสารไม่ถูกต้อง"))
        //            {
        //                loanItem.LOAN_STATUS = "F";
        //                LoanInfoDAL.Update(loanItem);
        //                AlertsMessageItem alertItem = new AlertsMessageItem();
        //                alertItem.ALERTS_MESSAGE_DETAIL = "แจ้งเตือนไม่อนุมัติการขอกู้เงินรหัส " + loanItem.LOAN_ID;
        //                alertItem.ALERTS_MESSAGE_STATUS = "C";
        //                alertItem.USER_NAME = cusItem.USERNAME;
        //                alertItem.LOAN_ID = loanItem.LOAN_ID;
        //                DAL.AlertsMessageInfoDAL.Insert(alertItem);
        //            }
        //        }
        //        else if (loanItem.LOAN_STATUS == "C")
        //        {
        //            if (cbbReceiveStatus.SelectedItem.ToString().Equals("ส่งรถ"))
        //            {
        //                if (this.txtVehicleId.Text != "")
        //                {
        //                    loanItem.LOAN_STATUS = "I";
        //                    LoanInfoDAL.Update(loanItem);
        //                    DateTime date = DateTime.Now;
        //                    PaymentsItem payItem = new PaymentsItem();
        //                    payItem.LOAN_ID = loanItem.LOAN_ID;
        //                    payItem.PAYMENTS_STATUS = "A";

        //                    for (int i = 0; i < InterrestItem.DEBT_MONTH; i++)
        //                    {
        //                        payItem.PAYMENTS_DUE_DATE = DateTime.Now.AddMonths(i + 1);
        //                        DAL.PaymentInfoDAL.Insert(payItem);
        //                    }

        //                    CustomerDebtItem item = new CustomerDebtItem();
        //                    item.CUSTOMER_ID = loanItem.CUSTOMER_ID;
        //                    item.DEBT_AMOUNT = loanItem.PAY_MONTH;
        //                    item.DEBT_DETAIL = "ค่ากู้รถยนต์ของบริษัท";
        //                    item.CUSTOMER_DEBT_STATUS = "A";
        //                    DAL.CustomerDebtInfoDAL.Insert(item);
        //                }
        //                else
        //                {
        //                    MessageBox.Show("กรุณากรอกรอกทะเบียนรถยนต์", "ตรวจสอบข้อมูล");
        //                    return;
        //                }
        //            }
        //        }
        //        MessageBox.Show("บันทึกข้อมูลสำเร็จ", "บันทึกผลการอนุมัติ");

        //        #region ของเก่า
        //        //    bool resultUpdate = false;
        //        //    decimal credit = Convert.ToDecimal(txtCredit.Text);
        //        //    if (credit >= 50)
        //        //    {
        //        //        loanItem.VEHICLE_ID = this.txtVehicleId.Text;
        //        //        if (empItem.EMPLOYEE_POSITION == "s")
        //        //        {
        //        //            if (loanItem.LOAN_STATUS.Equals("D"))
        //        //            {
        //        //                if (cbbReceiveStatus.SelectedItem.ToString().Equals("รอส่งรถ"))
        //        //                {
        //        //                    loanItem.LOAN_STATUS = "D";
        //        //                }
        //        //                else if (cbbReceiveStatus.SelectedItem.ToString().Equals("ส่งรถ"))
        //        //                {
        //        //                    if (this.txtVehicleId.Text != "")
        //        //                    {
        //        //                        loanItem.LOAN_STATUS = "I";

        //        //                        DateTime date = DateTime.Now;
        //        //                        PaymentsItem payItem = new PaymentsItem();
        //        //                        payItem.LOAN_ID = loanItem.LOAN_ID;
        //        //                        payItem.PAYMENTS_STATUS = "A";

        //        //                        for (int i = 0; i < InterrestItem.DEBT_MONTH; i++)
        //        //                        {
        //        //                            payItem.PAYMENTS_DUE_DATE = DateTime.Now.AddMonths(i + 1);
        //        //                            DAL.PaymentInfoDAL.Insert(payItem);
        //        //                        }

        //        //                        CustomerDebtItem item = new CustomerDebtItem();
        //        //                        item.CUSTOMER_ID = loanItem.CUSTOMER_ID;
        //        //                        item.DEBT_AMOUNT = loanItem.PAY_MONTH;
        //        //                        item.DEBT_DETAIL = "ค่ากู้รถยนต์ของบริษัท";
        //        //                        item.CUSTOMER_DEBT_STATUS = "A";
        //        //                        DAL.CustomerDebtInfoDAL.Insert(item);
        //        //                    }
        //        //                    else
        //        //                    {
        //        //                        MessageBox.Show("กรุณากรอกรอกทะเบียนรถยนต์", "ตรวจสอบข้อมูล");
        //        //                        return;
        //        //                    }
        //        //                }
        //        //                resultUpdate = LoanInfoDAL.Update(loanItem);
        //        //            }
        //        //            else
        //        //            {
        //        //                if (!loanItem.LOAN_STATUS.Equals("B"))
        //        //                {
        //        //                    if (cbbStatus.SelectedItem.ToString().Equals("อยู่ระหว่างการพิจารณา"))
        //        //                    {
        //        //                        loanItem.LOAN_STATUS = "A";
        //        //                    }
        //        //                    else if (cbbStatus.SelectedItem.ToString().Equals("นัดพบ"))
        //        //                    {
        //        //                        loanItem.LOAN_STATUS = "B";
        //        //                    }
        //        //                    else if (cbbStatus.SelectedItem.ToString().Equals("ไม่อนุมัติ"))
        //        //                    {
        //        //                        loanItem.LOAN_STATUS = "F";
        //        //                    }
        //        //                }
        //        //                else if (loanItem.LOAN_STATUS.Equals("B"))
        //        //                {
        //        //                    //if (cbbStatus2.SelectedItem.ToString().Equals("อนุมัติ"))
        //        //                    //{
        //        //                    //    loanItem.LOAN_STATUS = "C";
        //        //                    //}
        //        //                    //else if (cbbStatus2.SelectedItem.ToString().Equals("ไม่อนุมัติ"))
        //        //                    //{
        //        //                    //    loanItem.LOAN_STATUS = "F";
        //        //                    //}
        //        //                }
        //        //                resultUpdate = LoanInfoDAL.Update(loanItem);
        //        //            }
        //        //        }
        //        //        else
        //        //        {
        //        //            if (cbbStatusApprove.SelectedItem.ToString().Equals("อยู่ระหว่างการพิจารณา"))
        //        //            {
        //        //                loanItem.LOAN_STATUS = "C";
        //        //            }
        //        //            else if (cbbStatusApprove.SelectedItem.ToString().Equals("อนุมัติ"))
        //        //            {
        //        //                loanItem.LOAN_STATUS = "D";
        //        //                loanItem.LOAN_SUCCESS_DATE = DateTime.Now;
        //        //            }
        //        //            else if (cbbStatusApprove.SelectedItem.ToString().Equals("ไม่อนุมัติ"))
        //        //            {
        //        //                loanItem.LOAN_STATUS = "F";
        //        //                loanItem.LOAN_SUCCESS_DATE = DateTime.Now;
        //        //            }
        //        //            resultUpdate = LoanInfoDAL.UpdateHead(loanItem);
        //        //        }
        //        //    }
        //        //    else
        //        //    {
        //        //        //if (cbbStatus2.SelectedItem != null && cbbStatus2.SelectedItem.ToString().Equals("ไม่อนุมัติ"))
        //        //        //{
        //        //        //    loanItem.LOAN_STATUS = "F";
        //        //        //    loanItem.LOAN_SUCCESS_DATE = DateTime.Now;
        //        //        //    resultUpdate = LoanInfoDAL.UpdateHead(loanItem);
        //        //        //}
        //        //        //else
        //        //        //{
        //        //        //    MessageBox.Show("ความน่าเชื่อถือต่ำกว่ามาตราฐาน ไม่อนุญาติให้ทำการอนุมัติ", "บันทึกผลการอนุมัติ");
        //        //        //    return;
        //        //        //}
        //        //    }

        //        //    if (resultUpdate)
        //        //    {
        //        //        if (empItem.EMPLOYEE_POSITION == "s")
        //        //        {
        //        //            if (loanItem.LOAN_STATUS == "B")
        //        //            {
        //        //                int loop = 1;
        //        //                AppointmentsItem appItem = new AppointmentsItem();
        //        //                appItem.LOAN_ID = loanItem.LOAN_ID;
        //        //                appItem.APPOINTMENTS_DATE = DateTime.Now.AddDays(loop);
        //        //                appItem.APPOINTMENTS_DATE.Date.AddYears(-543);
        //        //                int queInDay = DAL.AppointmentsInfoDAL.LoadQue(appItem.APPOINTMENTS_DATE.Year + "-" + appItem.APPOINTMENTS_DATE.Month + "-" + appItem.APPOINTMENTS_DATE.Day, empItem.EMPLOYEE_ID);
        //        //                do
        //        //                {
        //        //                    if (queInDay <= 6)
        //        //                    {
        //        //                        if (queInDay == 0)
        //        //                        {
        //        //                            appItem.APPOINTMENTS_START_TIME = "09:00";
        //        //                            appItem.APPOINTMENTS_END_TIME = "10:00";
        //        //                        }
        //        //                        else if (queInDay == 1)
        //        //                        {
        //        //                            appItem.APPOINTMENTS_START_TIME = "10:00";
        //        //                            appItem.APPOINTMENTS_END_TIME = "11:00";
        //        //                        }
        //        //                        else if (queInDay == 2)
        //        //                        {
        //        //                            appItem.APPOINTMENTS_START_TIME = "11:00";
        //        //                            appItem.APPOINTMENTS_END_TIME = "12:00";
        //        //                        }
        //        //                        else if (queInDay == 3)
        //        //                        {
        //        //                            appItem.APPOINTMENTS_START_TIME = "13:00";
        //        //                            appItem.APPOINTMENTS_END_TIME = "14:00";
        //        //                        }
        //        //                        else if (queInDay == 4)
        //        //                        {
        //        //                            appItem.APPOINTMENTS_START_TIME = "14:00";
        //        //                            appItem.APPOINTMENTS_END_TIME = "15:00";
        //        //                        }
        //        //                        else if (queInDay == 5)
        //        //                        {
        //        //                            appItem.APPOINTMENTS_START_TIME = "15:00";
        //        //                            appItem.APPOINTMENTS_END_TIME = "16:00";
        //        //                        }
        //        //                        else if (queInDay == 6)
        //        //                        {
        //        //                            appItem.APPOINTMENTS_START_TIME = "16:00";
        //        //                            appItem.APPOINTMENTS_END_TIME = "17:00";
        //        //                        }
        //        //                    }
        //        //                    else
        //        //                    {
        //        //                        loop = loop + 1;
        //        //                        appItem.APPOINTMENTS_DATE = DateTime.Now.AddDays(loop);
        //        //                        queInDay = DAL.AppointmentsInfoDAL.LoadQue(appItem.APPOINTMENTS_DATE.Year + "-" + appItem.APPOINTMENTS_DATE.Month + "-" + appItem.APPOINTMENTS_DATE.Day, empItem.EMPLOYEE_ID);
        //        //                    }
        //        //                } while (appItem.APPOINTMENTS_START_TIME.Equals("") || appItem.APPOINTMENTS_END_TIME.Equals(""));
        //        //                appItem.APPOINTMENTS_STATUS = "A";
        //        //                DAL.AppointmentsInfoDAL.Insert(appItem);

        //        //                AlertsMessageItem alertItem = new AlertsMessageItem();
        //        //                alertItem.ALERTS_MESSAGE_DETAIL = "แจ้งเตือนการนัดหมายการขอกู้วัน " + appItem.APPOINTMENTS_DATE + " เวลา " + appItem.APPOINTMENTS_START_TIME + " - " + appItem.APPOINTMENTS_END_TIME + " น.";
        //        //                alertItem.ALERTS_MESSAGE_STATUS = "C";
        //        //                alertItem.USER_NAME = cusItem.USERNAME;
        //        //                alertItem.LOAN_ID = appItem.LOAN_ID;
        //        //                DAL.AlertsMessageInfoDAL.Insert(alertItem);

        //        //                MessageBox.Show("วันที่" + appItem.APPOINTMENTS_DATE.ToShortDateString() + " เวลา " +
        //        //                    appItem.APPOINTMENTS_START_TIME + " ถึง " + appItem.APPOINTMENTS_END_TIME
        //        //                , "วันเวลานัดนหมาย");
        //        //            }
        //        //            else if (loanItem.LOAN_STATUS == "C")
        //        //            {
        //        //                //LOAN_STATUS == "C" ของพนักงานปล่อยสินเชื่อคือการอนุมัติ เมื่ออนุมัตแล้วก็จะไปเปลี่ยนสถานะงานเป็น I
        //        //                ScheduleItem scheduleItem = new ScheduleItem();
        //        //                scheduleItem.LOAN_ID = loanItem.LOAN_ID;
        //        //                scheduleItem.SCHEDULE_STATUS = "I";
        //        //                DAL.ScheduleInfoDAL.Update(scheduleItem);

        //        //                scheduleItem = DAL.ScheduleInfoDAL.LoadScheduleLoan(scheduleItem.LOAN_ID);
        //        //                EmployeeItem emp = DAL.EmployeeInfoDAL.LoadEmployee(scheduleItem.EMPLOYEE_ID.ToString());
        //        //                DataTable dt = DAL.EmployeeInfoDAL.LoadAllHeadEmployee(emp.EMPLOYEE_GROUP);

        //        //                AlertsMessageItem alertItem;
        //        //                foreach (DataRow dr in dt.Rows)
        //        //                {
        //        //                    alertItem = new AlertsMessageItem();
        //        //                    alertItem.ALERTS_MESSAGE_DETAIL = "แจ้งเตือนการขออนุมัติการขอกู้เงินรหัส " + scheduleItem.LOAN_ID;
        //        //                    alertItem.ALERTS_MESSAGE_STATUS = "A";
        //        //                    alertItem.USER_NAME = dr["USERNAME"].ToString();
        //        //                    alertItem.LOAN_ID = scheduleItem.LOAN_ID;
        //        //                    DAL.AlertsMessageInfoDAL.Insert(alertItem);
        //        //                }
        //        //            }
        //        //            else if (loanItem.LOAN_STATUS == "F")
        //        //            {
        //        //                AlertsMessageItem alertItem = new AlertsMessageItem();
        //        //                alertItem.ALERTS_MESSAGE_DETAIL = "แจ้งเตือนไม่อนุมัติการขอกู้เงินรหัส " + loanItem.LOAN_ID;
        //        //                alertItem.ALERTS_MESSAGE_STATUS = "C";
        //        //                alertItem.USER_NAME = cusItem.USERNAME;
        //        //                alertItem.LOAN_ID = loanItem.LOAN_ID;
        //        //                DAL.AlertsMessageInfoDAL.Insert(alertItem);
        //        //            }
        //        //        }
        //        //        else if (empItem.EMPLOYEE_POSITION == "h")
        //        //        {
        //        //            if (loanItem.LOAN_STATUS == "D")
        //        //            {
        //        //                ScheduleItem scheduleItem = DAL.ScheduleInfoDAL.LoadScheduleLoan(loanItem.LOAN_ID);
        //        //                EmployeeItem emp = DAL.EmployeeInfoDAL.LoadEmployee(scheduleItem.EMPLOYEE_ID.ToString());

        //        //                AlertsMessageItem alertItem = new AlertsMessageItem();
        //        //                alertItem.ALERTS_MESSAGE_DETAIL = "แจ้งเตือนการส่งรถการขอกู้เงินรหัส " + loanItem.LOAN_ID;
        //        //                alertItem.ALERTS_MESSAGE_STATUS = "A";
        //        //                alertItem.USER_NAME = emp.USERNAME;
        //        //                alertItem.LOAN_ID = loanItem.LOAN_ID;
        //        //                DAL.AlertsMessageInfoDAL.Insert(alertItem);

        //        //                alertItem = new AlertsMessageItem();
        //        //                alertItem.ALERTS_MESSAGE_DETAIL = "แจ้งเตือนการรับรถของการขอกู้เงินรหัส " + loanItem.LOAN_ID;
        //        //                alertItem.ALERTS_MESSAGE_STATUS = "C";
        //        //                alertItem.USER_NAME = cusItem.USERNAME;
        //        //                alertItem.LOAN_ID = loanItem.LOAN_ID;
        //        //                DAL.AlertsMessageInfoDAL.Insert(alertItem);
        //        //            }
        //        //            else if (loanItem.LOAN_STATUS == "F")
        //        //            {
        //        //                AlertsMessageItem alertItem = new AlertsMessageItem();
        //        //                alertItem.ALERTS_MESSAGE_DETAIL = "แจ้งเตือนไม่อนุมัติการขอกู้เงินรหัส " + loanItem.LOAN_ID;
        //        //                alertItem.ALERTS_MESSAGE_STATUS = "C";
        //        //                alertItem.USER_NAME = cusItem.USERNAME;
        //        //                alertItem.LOAN_ID = loanItem.LOAN_ID;
        //        //                DAL.AlertsMessageInfoDAL.Insert(alertItem);
        //        //            }
        //        //        }
        //        //        MessageBox.Show("บันทึกข้อมูลสำเร็จ", "บันทึกผลการอนุมัติ");
        //        //    }
        //        //    else
        //        //    {
        //        //        MessageBox.Show("บันทึกข้อมูลไม่สำเร็จ", "บันทึกผลการอนุมัติ");
        //        //    }
        //        //    this.Close();
        //        #endregion
        //    }
        //    catch (Exception ex)
        //    {
        //        MessageBox.Show(ex.Message, "บันทึกผลการอนุมัติ");
        //    }
        //}
        #endregion

        private void btnViewCustomer_Click(object sender, EventArgs e)
        {
            frmLoanDetail2 frmCusDetail = new frmLoanDetail2(cusItem);
            frmCusDetail.ShowDialog();
            
            if (cusItem.CUSTOMER_SARARY != 0)
            {
                bondsmanItem = DAL.BondsmanInfoDAL.LoadBondsmanByCusID(cusItem.CUSTOMER_ID);
                decimal sumBondsman = cusItem.CUSTOMER_SARARY;
                if (bondsmanItem != null &&
                    bondsmanItem.CHECK_IDENTITY_CARD == "A" &&
                    bondsmanItem.CHECK_IDENTITY_CARD == "A" &&
                    bondsmanItem.CHECK_REGISTRATION == "A" &&
                    bondsmanItem.CHECK_SALARY_SLIP == "A")
                {
                    sumBondsman += (bondsmanItem.BONDSMAN_SARARY / 4);
                }

                decimal sumDept = DAL.CustomerDebtInfoDAL.LoadSumDept(cusItem.CUSTOMER_ID);
                sumDept = sumDept + loanItem.PAY_MONTH;
                decimal credit = ((sumBondsman - sumDept) / sumBondsman) * 100;
                this.txtCredit.Text = decimal.Round(credit, 2, MidpointRounding.AwayFromZero).ToString();
            }
            else
            {
                this.txtCredit.Text = "0";
            }
        }

        private void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                //บัตรประจำตัวประชาชน
                if (checkBox1.Checked)
                {
                    loanItem.CHECK_IDENTITY_CARD = "A";
                }
                else if (checkBox2.Checked)
                {
                    loanItem.CHECK_IDENTITY_CARD = "F";
                }
                else
                {
                    loanItem.CHECK_IDENTITY_CARD = "I";
                }

                //ทะเบียนบ้าน
                if (checkBox3.Checked)
                {
                    loanItem.CHECK_REGISTRATION = "A";
                }
                else if (checkBox4.Checked)
                {
                    loanItem.CHECK_REGISTRATION = "F";
                }
                else
                {
                    loanItem.CHECK_REGISTRATION = "I";
                }

                //สลิปเงินเดือน หรือหนังสือรับรองเงินเดือน
                if (checkBox5.Checked)
                {
                    loanItem.CHECK_SALARY_SLIP = "A";
                }
                else if (checkBox6.Checked)
                {
                    loanItem.CHECK_SALARY_SLIP = "F";
                }
                else
                {
                    loanItem.CHECK_SALARY_SLIP = "I";
                }

                //รายละเอียดการเดินบัญชีย้อนหลัง 6 เดือน
                if (checkBox7.Checked)
                {
                    loanItem.CHECK_ACCOUNT = "A";
                }
                else if (checkBox8.Checked)
                {
                    loanItem.CHECK_ACCOUNT = "F";
                }
                else
                {
                    loanItem.CHECK_ACCOUNT = "I";
                }

                cusItem = DAL.CustomerInfoDAL.LoadCustomer(loanItem.CUSTOMER_ID);
                if (loanItem.CHECK_SALARY_SLIP == "A")
                {
                    if (cusItem.CUSTOMER_SARARY == 0)
                    {
                        MessageBox.Show("กรุณากรอกเงินเดือนของลูกค้าก่อนยืนยันเอกสารสลิปเงินเดือน", "บันทึกผลการอนุมัติ");
                        return;
                    }
                }

                LoanInfoDAL.Update(loanItem);
                decimal credit = Convert.ToDecimal(txtCredit.Text);
                if (loanItem.CHECK_IDENTITY_CARD == "A" &&
                    loanItem.CHECK_IDENTITY_CARD == "A" &&
                    loanItem.CHECK_REGISTRATION == "A" &&
                    loanItem.CHECK_SALARY_SLIP == "A"
                    )
                {
                    bondsmanItem = DAL.BondsmanInfoDAL.LoadBondsmanByCusID(cusItem.CUSTOMER_ID);
                    bool checkBondsman = false;
                    if (bondsmanItem != null)
                    {
                        if (bondsmanItem.CHECK_IDENTITY_CARD == "A" &&
                        bondsmanItem.CHECK_IDENTITY_CARD == "A" &&
                        bondsmanItem.CHECK_REGISTRATION == "A" &&
                        bondsmanItem.CHECK_SALARY_SLIP == "A")
                        {
                            checkBondsman = true;
                        }
                        else
                        {
                            checkBondsman = false;
                        }
                    }
                    else
                    {
                        checkBondsman = true;
                    }
                    if (checkBondsman)
                    {
                        if (credit >= 50)
                        {
                            loanItem.LOAN_STATUS = "B";
                            LoanInfoDAL.Update(loanItem);

                            ScheduleItem scheduleItem = new ScheduleItem();
                            scheduleItem.LOAN_ID = loanItem.LOAN_ID;
                            scheduleItem.SCHEDULE_STATUS = "I";
                            DAL.ScheduleInfoDAL.Update(scheduleItem);

                            scheduleItem = DAL.ScheduleInfoDAL.LoadScheduleLoan(loanItem.LOAN_ID);
                            EmployeeItem emp = DAL.EmployeeInfoDAL.LoadEmployee(scheduleItem.EMPLOYEE_ID.ToString());

                            AlertsMessageItem alertItem = new AlertsMessageItem();
                            alertItem.ALERTS_MESSAGE_DETAIL = "แจ้งเตือนการส่งรถการขอกู้เงินรหัส " + loanItem.LOAN_ID;
                            alertItem.ALERTS_MESSAGE_STATUS = "A";
                            alertItem.USER_NAME = emp.USERNAME;
                            alertItem.LOAN_ID = loanItem.LOAN_ID;
                            DAL.AlertsMessageInfoDAL.Insert(alertItem);

                            alertItem = new AlertsMessageItem();
                            alertItem.ALERTS_MESSAGE_DETAIL = "แจ้งเตือนการรับรถของการขอกู้เงินรหัส " + loanItem.LOAN_ID
                                + " คุณสามารถรับรถได้กับพนักงาน " + emp.EMPLOYEE_NAME + " " + emp.EMPLOYEE_LASTNAME;
                            alertItem.ALERTS_MESSAGE_STATUS = "C";
                            alertItem.USER_NAME = cusItem.USERNAME;
                            alertItem.LOAN_ID = loanItem.LOAN_ID;
                            DAL.AlertsMessageInfoDAL.Insert(alertItem);

                            AppointmentsItem appointment = new AppointmentsItem();
                            appointment.LOAN_ID = alertItem.LOAN_ID;
                            appointment.APPOINTMENTS_STATUS = "I";
                            AppointmentsInfoDAL.Update(appointment);

                            MessageBox.Show("อนุมัติการขอกู้", "บันทึกผลการอนุมัติ");
                            return;
                        }
                        else
                        {
                            loanItem.LOAN_STATUS = "F";
                            LoanInfoDAL.Update(loanItem);
                            AlertsMessageItem alertItem = new AlertsMessageItem();
                            alertItem.ALERTS_MESSAGE_DETAIL = "แจ้งเตือนไม่อนุมัติการขอกู้เงินรหัส " + loanItem.LOAN_ID;
                            alertItem.ALERTS_MESSAGE_STATUS = "C";
                            alertItem.USER_NAME = cusItem.USERNAME;
                            alertItem.LOAN_ID = loanItem.LOAN_ID;
                            DAL.AlertsMessageInfoDAL.Insert(alertItem);
                            bondsmanItem = DAL.BondsmanInfoDAL.LoadBondsmanByCusID(loanItem.CUSTOMER_ID);
                            if (bondsmanItem != null)
                            {
                                DAL.BondsmanInfoDAL.Delete(loanItem.CUSTOMER_ID);
                                DAL.BondsmanDocInfoDAL.DeleteAll(DAL.BondsmanInfoDAL.LoadBondsmanID(loanItem.CUSTOMER_ID));
                            }
                            MessageBox.Show("ความน่าเชื่อถือต่ำกว่ามาตราฐาน ไม่อนุญาติให้ทำการขอกู้", "บันทึกผลการอนุมัติ");
                            return;
                        }
                    }
                    else
                    {
                        if (bondsmanItem.CHECK_IDENTITY_CARD == "F" ||
                        bondsmanItem.CHECK_IDENTITY_CARD == "F" ||
                        bondsmanItem.CHECK_REGISTRATION == "F" ||
                        bondsmanItem.CHECK_SALARY_SLIP == "F")
                        {
                            loanItem.LOAN_STATUS = "F";
                            LoanInfoDAL.Update(loanItem);
                            AlertsMessageItem alertItem = new AlertsMessageItem();
                            alertItem.ALERTS_MESSAGE_DETAIL = "แจ้งเตือนไม่อนุมัติการขอกู้เงินรหัส " + loanItem.LOAN_ID;
                            alertItem.ALERTS_MESSAGE_STATUS = "C";
                            alertItem.USER_NAME = cusItem.USERNAME;
                            alertItem.LOAN_ID = loanItem.LOAN_ID;
                            DAL.AlertsMessageInfoDAL.Insert(alertItem);
                            bondsmanItem = DAL.BondsmanInfoDAL.LoadBondsmanByCusID(loanItem.CUSTOMER_ID);
                            if (bondsmanItem != null)
                            {
                                DAL.BondsmanInfoDAL.Delete(loanItem.CUSTOMER_ID);
                                DAL.BondsmanDocInfoDAL.DeleteAll(DAL.BondsmanInfoDAL.LoadBondsmanID(loanItem.CUSTOMER_ID));
                            }
                            MessageBox.Show("เอกสารของผู้ค้ำไม่ถูกต้อง ไม่อนุญาติให้ทำการขอกู้", "บันทึกผลการอนุมัติ");
                            return;
                        }
                        else 
                        {
                            MessageBox.Show("กรุณายืนยันเอกสารของผู้ค้ำประกัน", "บันทึกผลการอนุมัติ");
                            return;
                        }
                    }
                }
                else if (loanItem.CHECK_IDENTITY_CARD == "F" ||
                    loanItem.CHECK_IDENTITY_CARD == "F" ||
                    loanItem.CHECK_REGISTRATION == "F" ||
                    loanItem.CHECK_SALARY_SLIP == "F")
                {
                    loanItem.LOAN_STATUS = "F";
                    LoanInfoDAL.Update(loanItem);
                    AlertsMessageItem alertItem = new AlertsMessageItem();
                    alertItem.ALERTS_MESSAGE_DETAIL = "แจ้งเตือนไม่อนุมัติการขอกู้เงินรหัส " + loanItem.LOAN_ID;
                    alertItem.ALERTS_MESSAGE_STATUS = "C";
                    alertItem.USER_NAME = cusItem.USERNAME;
                    alertItem.LOAN_ID = loanItem.LOAN_ID;
                    DAL.AlertsMessageInfoDAL.Insert(alertItem);
                    AppointmentsItem appointment = new AppointmentsItem();
                    appointment.LOAN_ID = alertItem.LOAN_ID;
                    appointment.APPOINTMENTS_STATUS = "I";
                    AppointmentsInfoDAL.Update(appointment);

                    BondsmanItem bondsmanItem = DAL.BondsmanInfoDAL.LoadBondsmanByCusID(loanItem.CUSTOMER_ID);
                    if (bondsmanItem != null)
                    {
                        DAL.BondsmanInfoDAL.Delete(loanItem.CUSTOMER_ID);
                        DAL.BondsmanDocInfoDAL.DeleteAll(DAL.BondsmanInfoDAL.LoadBondsmanID(loanItem.CUSTOMER_ID));
                    }
                    MessageBox.Show("เอกสารลูกค้าไม่ถูกต้อง ไม่อนุญาติให้ทำการขอกู้", "บันทึกผลการอนุมัติ");
                    return;
                }
                MessageBox.Show("บันทึกข้อมูลสำเร็จ", "บันทึกผลการอนุมัติ");
            }
            catch (Exception ex)
            {
                MessageBox.Show("ex : " + ex.Message, "บันทึกผลการผิดพลาด");
            }
        }

        private void radioButton1_CheckedChanged(object sender, EventArgs e)
        {
            if (checkBox1.Checked)
            {
                checkBox2.Checked = false;
            }
        }

        private void radioButton2_CheckedChanged(object sender, EventArgs e)
        {
            if (checkBox2.Checked)
            {
                checkBox1.Checked = false;
            }
        }

        private void radioButton3_CheckedChanged(object sender, EventArgs e)
        {
            if (checkBox4.Checked)
            {
                checkBox3.Checked = false;
            }
        }

        private void radioButton4_CheckedChanged(object sender, EventArgs e)
        {
            if (checkBox3.Checked)
            {
                checkBox4.Checked = false;
            }
        }

        private void radioButton5_CheckedChanged(object sender, EventArgs e)
        {
            if (checkBox6.Checked)
            {
                checkBox5.Checked = false;
            }
        }

        private void radioButton6_CheckedChanged(object sender, EventArgs e)
        {
            if (checkBox5.Checked)
            {
                checkBox6.Checked = false;
            }
        }

        private void radioButton7_CheckedChanged(object sender, EventArgs e)
        {
            if (checkBox8.Checked)
            {
                checkBox7.Checked = false;
            }
        }

        private void radioButton8_CheckedChanged(object sender, EventArgs e)
        {
            if (checkBox7.Checked)
            {
                checkBox8.Checked = false;
            }
        }
    }
}
